View Javadoc
1   package edu.jiangxin.apktoolbox.swing.extend.listener;
2   
3   import edu.jiangxin.apktoolbox.utils.FileUtils;
4   
5   import javax.swing.*;
6   import java.awt.event.ActionEvent;
7   import java.awt.event.ActionListener;
8   import java.io.File;
9   
10  public class SelectDirectoryListener implements ActionListener {
11      private final String dialogTitle;
12      private final JTextField pathTextField;
13  
14      public SelectDirectoryListener(String dialogTitle, JTextField pathTextField) {
15          super();
16          this.dialogTitle = dialogTitle;
17          this.pathTextField = pathTextField;
18      }
19  
20      @Override
21      public void actionPerformed(ActionEvent e) {
22          JFileChooser jfc = new JFileChooser();
23          jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
24          jfc.setDialogTitle(dialogTitle);
25          int ret = jfc.showDialog(new JLabel(), null);
26          if (ret == JFileChooser.APPROVE_OPTION) {
27              File file = jfc.getSelectedFile();
28              String path = FileUtils.getCanonicalPathQuiet(file);
29              pathTextField.setText(path);
30          }
31      }
32  }